
        <html>
			<head>
			     <title>无线应用安全剖析  - sanr</title>
				 <meta http-equiv="content-type" content="text/html; charset=UTF-8">
			</head>
			<body>
				<h1>原文地址:<a href="http://drops.wooyun.org/wireless/4295">http://drops.wooyun.org/wireless/4295</a></h1>
				
      <p>
        <h1>0x00 Wifi破解方式</h1>

<hr />

<p>WEP破解‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍</p>

<hr />

<p>如果你的家用路由器的无线加密方式被配置为WEP加密，那么你就得马上进行修改了，因为由于WEP加密体制缺陷，蹭网者能够通过收集足够的握手包（即计算机与无线路由器连接认证过程中的数据包），使用分析密算法还原出密码。此类加密方式的攻击成功率基本接近100%。比较常见的攻击手法是使用MIDIWEP对周围的无线信号进行嗅探，当抓取到足够多的IVS时就可以自动解出无线密码，如下图所示：</p>

<!--more-->

<p><img src="http://static.wooyun.org/20141209/2014120920421412832.jpg" alt="enter image description here" /></p>

<h2>WPA/WPA2‍‍爆破‍‍‍‍‍‍‍‍‍‍</h2>

<hr />

<p>无线路由器的另一种加密方式为WPA/WPA2加密，相比较于WEP加密，暂时未能从一些公开的方法中找到直接破解WPA/WPA2密码的方法，只能先抓获握手包，然后对握手包进行暴力破解，但是结合着一些技巧以及普通用户密码策略比较薄弱，成功的机率也比较高。</p>

<p>抓握手包跑字典，这主要看你的字典给不给力了，拼人品的时间到了，和破解wep操作一样的，选中信号点lanch开始抓包，抓包的时候路由器是一定要有用户使用，目的是攻击导致对方掉线，在自动重连的过程中抓取WPA认证的四次握手包。如果一直没找到在线的客户端，就抓不到包的，只能等有人用的时候再试了。</p>

<p><img src="http://static.wooyun.org/20141209/2014120920421479009.png" alt="enter image description here" /></p>

<p>弹出下面这个提示，说明抓包成功了，把包拷出来用EWSA验证下是不是完整的握手包，要包含完整的四次握手信息才能用来破解。</p>

<p><img src="http://static.wooyun.org/20141209/2014120920421454936.png" alt="enter image description here" /></p>

<p>只有提示是有效的数据包才能进行字典破解，像下面这样的数据包就是可以利用的。</p>

<p><img src="http://static.wooyun.org/20141209/2014120920421585083.png" alt="enter image description here" /></p>

<p>接下来请出hashcat神器或者ewsa直接跑字典，(由于我的电脑配置不是很高 往往我选择的是)直接丢到淘宝让专业人士来跑</p>

<p><img src="http://static.wooyun.org/20141209/2014120920421556101.png" alt="enter image description here" /></p>

<h2>Pin码穷举攻击(WPS‍‍破解)</h2>

<hr />

<p>大部分无线路由器都有个WPS快速连接的功能，只要连接的时候输入路由器正确的pin管理码，就可以自动的根据算法协商密钥连上WiFi。这个pin码是8位纯数字，前4位和后4位是分开验证的，第8位是检验码（根据前7位按照一定的算法可以推出第8位）。也就是说如果要穷举这个pin码，只需要10^4+10^3=11000次，reaver就是干这个差事的工具。只要路由器开启了WPS功能，并且没有锁死WPS的机制，是百分百可以尝试出正确的pin码，得到pin码后就能获取到wpa密码了。而且大部分情况下，路由器出厂开放WPS功能哦：）。不过要说明的是有些路由器，试错pin码多次会锁死，这种情况下只能用第一种抓包跑密码了。</p>

<p>点击扫描出现路由器MAC 名称 等信息 带有WPS支持PIN码破解，扫描出来带有WPS路由器，点击Reaver进行PIN码穷举攻击。如下图</p>

<p><img src="http://static.wooyun.org/20141209/2014120920421522198.png" alt="enter image description here" /></p>

<p>现已破解出PIN码</p>

<p><img src="http://static.wooyun.org/20141209/2014120920421579807.png" alt="enter image description here" /></p>

<p>进行连接</p>

<p><img src="http://static.wooyun.org/20141209/2014120920421687639.png" alt="enter image description here" /></p>

<p>在框中输入破解得到的pin码。点击下一步，软件会自动寻找路由，自动连接啦</p>

<h2>腾达无线路由器PIN码漏洞</h2>

<hr />

<p>腾达无线路由器MAC地址以“C83A35”或“00B00C”打头的默认PIN码,可以算出来</p>

<p>把计算器调为程序员型，选十六进制，比如08:10:76:0F:B3:5C这个MAC地址，取后六位，输入完后选十进制就算出pin码前7位了，第8位程序会自己补全。</p>

<p><img src="http://static.wooyun.org/20141209/2014120920421675230.png" alt="enter image description here" /></p>

<p><img src="http://static.wooyun.org/20141209/2014120920421699914.png" alt="enter image description here" /></p>

<p>计算得到的 就是路由的pin的前7位了，pin码共由8位数字组成，前7位已经出来了，最后一位自己猜呀猜就出来了，猜出了就直接连接路由啦。</p>

<h2>APP造成wifi密码泄漏</h2>

<hr />

<p>用WiFi万能钥匙获取WiFi密码，前提是已经root的安卓手机。WiFi万能钥匙从服务器获取到别人分享的密码来连接WiFi，断开后就把密码清除了。重点来了，WiFi在连接的过程中密码是保存在本机的/data/misc/wifi/wpa&#95;supplicant.conf上的，我们可以强行终止WiFi万能钥匙进程，那密码就永久保存下来了，这时候用带文件管理器比如re或者es浏览器，打开/data/misc/wifi/wpa&#95;supplicant.conf就能看到密码了。</p>

<p><img src="http://static.wooyun.org/20141209/2014120920421637024.png" alt="enter image description here" /></p>

<p>或者装个app吧，搜下WiFi连接管理器，长按显示密码就行了，都需要root权限的。</p>

<p><img src="http://static.wooyun.org/20141209/2014120920421686640.png" alt="enter image description here" /></p>

<h1>0x01 WIFI攻击</h1>

<hr />

<h2>中间人攻击</h2>

<hr />

<p>所谓中间人攻击就是目标主机与另一主机进行正常连接的过程中，攻击者通过拦截、插入、伪造、中断数据包等方式，达到获取对方登陆账户及密码，伪造身份等目的。</p>

<p><img src="http://static.wooyun.org/20141209/2014120920421756603.jpg" alt="enter image description here" /></p>

<p>手机端进行ARP攻击</p>

<p><img src="http://static.wooyun.org/20141209/2014120920421775237.jpg" alt="enter image description here" /></p>

<p>连接进入网络之后，使用dSploit扫描到的设备列表与路由器管理界面中的一模一样：</p>

<p><img src="http://static.wooyun.org/20141209/2014120920421755077.png" alt="enter image description here" /></p>

<h2>跳板攻击</h2>

<hr />

<ol>
<li>基于软件无线跳板攻击</li>
</ol>

<p>基于软件的无线跳板攻击是指在有线网络的基础上，加入了无线网络的环节，通过配合使用有线网络内的主机、笔记本作为传输节点，一一连接起来进行无线信号到有线网络的传输。</p>

<ol>
<li>基于硬件无线跳板攻击</li>
</ol>

<p>使用主机、无线路由器或者无线AP作为传输节点，并一一连接起来以便进行无线信号的传输，也就是常说的无线中继。</p>

<p>通过将多个无线AP中继，将原本内部的无线网络信号传递出来。</p>

<h2>DHCP攻击</h2>

<hr />

<p>利用DHCP的脆弱性发起的攻击能够迅速耗尽IP地址池，导致大面积的业务瘫痪，而且难以追踪，危害性极大。</p>

<p><img src="http://static.wooyun.org/20141209/2014120920421742571.jpg" alt="enter image description here" /></p>

<p>大量IP被占用</p>

<p><img src="http://static.wooyun.org/20141209/2014120920421817789.png" alt="enter image description here" /></p>

<h2>DDOS攻击</h2>

<hr />

<p>验证洪水攻击</p>

<p>和传统的有线网络一样，无线路由器也会面临无线DOS攻击的威胁</p>

<p>我们使用mdk3来测试验证洪水攻击。</p>

<p>我们可以看到mdk3伪造了大量的虚假客户端去连接chinanet，MA地址也都是随机伪造的。</p>

<p><img src="http://static.wooyun.org/20141209/2014120920421810086.png" alt="enter image description here" /></p>

<p>取消验证洪水攻击</p>

<ol>
<li><p>客户端与AP建立连接</p></li>
<li><p>通过广播插入伪造的取消身份验证报文</p></li>
<li><p>客户端认为该报文来自AP</p></li>
<li><p>已连接的客户端自行断开连接</p></li>
</ol>

<p><img src="http://static.wooyun.org/20141209/2014120920421988573.png" alt="enter image description here" /></p>

<p>这种攻击不是针对AP的，而是针对于client的，当我们发动攻击的时候我们可以马上看到无法访问网络了，见效很快。此时我们可以利用-s参数来加快发包速率。这种效率是非常高的，一般发动开始，client便开始断网。</p>

<h1>0x02 WIFI钓鱼</h1>

<hr />

<h2>被动式攻击</h2>

<hr />

<p>建立虚假wifi热点,等候别人的连接，安装tcpdump等工具进行抓包窃取数据。</p>

<h2>主动式攻击</h2>

<hr />

<p>利用智能手机 Wi-Fi 广播 协议的缺陷 / 自动接入设计进行攻击。</p>

<p>手机连接过WIFI热点信息之后会保存在手机里，每次进入无线覆盖范围就会自动接入。</p>

<p>公开WIFI热点</p>

<pre><code> 中国移动热点：CMCC、CMCC-EDU 等

 中国联通热点：ChinaUnicom 等

 中国电信热点：ChinaNet、ChinaTelecom 等
</code></pre>

<p>无线设备为了加快连接速度，会对外广播过它连接过什么无线，ssid是多少。如果我截获到了这个广播，我自然能知道你连过什么无线，把这个无线伪造出来</p>

<p>建立相同SSID 切没有密码的ap热点，手机会主动连接手机里已连接过的AP热点，连接的时候只验证SSID是否相同，当不存在密码的时候，不用去验证，会主动连接。(应该是安卓4.2以下版本可以)。</p>

<p>国产手机自带的Wlan服务(删都删不掉)</p>

<p>将运营商的 Wi-Fi 热点内置到你的手机中，更有甚者一些手机中这几个 Wi-Fi 你都删不掉，碰到了就连上，这样的情况下 我们随意建立一个类似于CMCC 等热点就可以进行信息窃取。</p>

<h1>0x03 设备攻防</h1>

<hr />

<p>TP-link后门</p>

<p>TP-LINK的某些型号的路由器存在一个后门功能，通过访问某个无需授权认证的特定页面，路由器会自动从攻击者控制的TFTP服务器上下载程序并执行。攻击者利用这个漏洞可以在路由器上以root身份执行任意命令，从而可完全控制路由器。</p>

<p>http://192.168.0.1/userRpmNatDebugRpm26525557/start_art.html ” ，路由器会从发起请求的机器通过tftp下载一个nart.out文件，并以root权限执行该文件。</p>

<p>CSRF攻击</p>

<pre><code> IE不支持Http Authentication  使用此方法在IE下攻击是无效的 完美兼容FF chrome。

http://admin:<a class="__cf_email__" href="/cdn-cgi/l/email-protection" data-cfemail="244540494d4a64151d160a15121c0a150a15">[email&#160;protected]</a><script data-cfhash='f9e31' type="text/javascript">/* <![CDATA[ */!function(t,e,r,n,c,a,p){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-cfhash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-cfemail')){for(e='',r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2)e+='%'+('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */</script>/userRpm/LanDhcpServerRpm.htm?dhcpserver=1&amp;ip1=      192.168.1.100&amp;ip2=192.168.1.199&amp;Lease=120&amp;gateway=0.0.0.0&amp;domain=&amp;dnsserver=&amp;dnsserver=54.248.102.5&amp;dnsserver2=8.8.8.8&amp;Save=%25B1%25A3+%25B4%25E6
</code></pre>

<p>烽火通信某款路由器被爆存在漏洞-可远程修改DNS</p>

<blockquote>
  <p>http://www.exploit-db.com/exploits/28450/</p>
</blockquote>

<p><img src="http://static.wooyun.org/20141209/2014120920421990559.jpg" alt="enter image description here" /></p>

<h1>0x04 路由器攻破可以干什么？</h1>

<hr />

<p>网络出口流量控制在你手里，手机端利用更新 系统漏洞挂马？ PC端利用IE等漏洞来挂马？ 窃取登录密码等等。</p>

<p>控制路由器就等于控制80%以上的通讯数据包，利用方式和局域网嗅探、劫持大同小异。</p>      </p>
    
			</body>
		</html>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          